package com.iflytek.sbd.demo.lambda;

/**
 * @program: sbd
 * @description:
 * @author: 陈英俊
 * @create: 2021-12-28 09:41
 */
//public class LambdaTest {
//
//
//    /**
//     * 定义一个父类, 在定义一个子类
//     * new 子类的时候, 后面的{} , 可以重写Eat 或者EatMeat的方法 ,
//     * 相当于我匿名实现了一个EatMeat的子类,EatMeat继承了Eat的eatFood(),匿名子类实现了EatMeat继承得到的eatFood()
//     */
//    public static void main(String[] args) {
//        Eat<String> eat = new EatMeat<String>() {
//            @Override
//            protected String eatFood() {
//                return "米饭";
//            }
//        };
//        System.out.println(eat.eatFood());
////        Class<? extends EatMeat> aClass = new EatMeat<String>().getClass();
////        //这个方法可以得到继承的方法, 但是只能得到公共的,所以这里看不见EatMeat继承的Eat的eatFood方法(因为eatFood是protected的),但是我new一个EatMeat实例, .eatFood()是可以的
////        Method[] declaredMethods = aClass.getMethods();
////        for (Method declaredMethod : declaredMethods) {
////            System.out.println(declaredMethod);
////        }
//    }
//}
